#pragma once

#include <vector>
#include "..\..\nclgl\Vector3.h"

class TerrainGenerationData {
public:
	TerrainGenerationData();
	~TerrainGenerationData();

	void updateTreesAndSpawnerPositions();

	Vector3 getOffsetInNoiseMap() const { return offsetInNoiseMap; }
	Vector3 getTreePositionAt(int i) const { return treePositions[i]; }
	Vector3 getSpanwerPosition() const { return spawnerPosition; }
	Vector3* getTreePositions()const { return treePositions; };
	int * getTreeSizes() const { return treeSizes; };
	int getNumTrees() { return NUM_TREES; }

	Vector3 setPositionTreeAt(int i);

private:
	Vector3 offsetInNoiseMap;
	Vector3* treePositions;
	int* treeSizes;
	Vector3 spawnerPosition;

	int NUM_TREES;
	int NUM_VOXEL_CHUNCKS;

	int CHUNCK_SIZE_X;
	int CHUNCK_SIZE_Y;
	int CHUNCK_SIZE_Z;

	int SCALE_TERRAIN;
};